import rclpy # ROS2 Python接口库
from rclpy.node import Node # ROS2 节点类
class ParameterNode(Node):
    def __init__(self, name):
        super().__init__(name) # ROS2节点父类初始化
        self.timer = self.create_timer(2, self.timer_callback) # 创建一个定时器（单位为秒的周期，定时执行的回调函数）
        self.declare_parameter('robot_name', 'muto') # 创建一个参数，并设置参数的默认值
        
    def timer_callback(self): # 创建定时器周期执行的回调函数
        robot_name_param = self.get_parameter('robot_name').get_parameter_value().string_value # 从ROS2系统中读取参数的值
        self.get_logger().info('Hello %s!' % robot_name_param) # 输出日志信息，打印读取到的参数值
        
def main(args=None): # ROS2节点主入口main函数
    rclpy.init(args=args) # ROS2 Python接口初始化
    node = ParameterNode("param_declare") # 创建ROS2节点对象并进行初始化
    rclpy.spin(node) # 循环等待ROS2退出3.3、编译功能包
    node.destroy_node() # 销毁节点对象
    rclpy.shutdown() # 关闭ROS2 Python接口